課程資訊
課程名稱
計算機組織與組合語言
Computer Organization and Assembly Languages 
開課學期
101-1 
授課對象
電機資訊學院  資訊工程學系  
授課教師
莊永裕 
課號
CSIE2303 
課程識別碼
902 25300 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期三6,7,8(13:20~16:20) 
上課地點
資111 
備註
總人數上限:50人 
課程網頁
http://www.csie.ntu.edu.tw/~cyy/asm 
課程簡介影片
 
核心能力關聯
本課程尚未建立核心能力關連
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

組合語言可以說是最早的程式語言,亦是最貼近計算機底層運作之程式語言,藉由學習組合語言,不僅有助於軟體設計師掌握硬體之特色及限制,以開發出更有效率的程式,亦可促進其對計算機運作基本原理的暸解,亦是未來學習計算機結構及編譯程式等課程的基礎。
本課程將由最底層之邏輯閘開始,一步步向上建構出一部簡單計算機,以教授學生計算機運作之基本原理。課程的第二部份則將以現存最普及的Intel微處理器為主,其他微處理器為輔,以教授學生組合語言的基本語法及組合語言程式的基本精神。
 

課程目標
本課程的目標在於讓修課同學:
- 理解計算機運作的基本原理。
- 熟悉組合語言的語法、指令集及程式基本精神,本課程將以Intel之組合語言為主,其他微處理器的組合語言為輔。
- 有能力用組合語言開發模組及小規模程式。
- 有能力查閱組合語言的指令集及開發手冊,以使用進階或新增指令,並能自力學習未曾接觸過的微處理器之組合語言。
 
課程要求
程式作業
手寫作業
期末專題 
預期每週課後學習時數
 
Office Hours
另約時間 
指定閱讀
 
參考書目
- Kip R. Irvine, Assembly Language for Intel-Based Computers, 5th Edition, Prentice-Hall.
- Randy Hyde, The Art of Assembly Language, No Starch Press, 2003.
- Randal E. Bryant and David R.O'Hallaron, Computer Systems: A Programmer's Perspective, by Prentice Hall, 2002.
 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
no 
100% 
 
 
課程進度
週次
日期
單元主題
第1週
9/12  Introduction 
第2週
9/19  Combinational logic 
第3週
9/26  Sequential logic 
第4週
10/03  Basic architecture 
第5週
10/10  Basic architecture 
第6週
10/17  Assembly fundamental 
第7週
10/24  Data transfer  
第8週
10/31  Arithmetic 
第9週
11/07  Arithmetic 
第10週
11/14  Condition processing 
第11週
11/21  Condition processing 
第12週
11/28  Procedures 
第13週
12/05  Strings and arrays 
第14週
12/12  Structure and macros 
第15週
12/19  Advanced topics 
第16週
12/26  Advanced topics 
第17週
1/02  Advanced topics